package com.hckjsec.oa.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hckjsec.common.annotation.Excel;
import com.hckjsec.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 公司OA考勤对象 oa_attendance
 * 
 * @author cyt
 * @date 2021-12-24
 */
public class OaAttendance extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 部门id */
    @Excel(name = "部门id")
    private Long deptId;

    /** 用户id */
    @Excel(name = "用户id")
    private Long userId;

    /** 用户姓名 */
    @Excel(name = "用户姓名")
    private String userName;

    /** 考勤日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "考勤日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date date;

    /** 考勤类别 0 内勤,1 外勤 */
    @Excel(name = "考勤类别 0 内勤,1 外勤")
    private String attendanceType;

    /** 考勤时间段 0 签到,1 签退 */
    @Excel(name = "考勤时间段 0 签到,1 签退")
    private String period;

    /** 打卡时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "打卡时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date pthTime;

    /** 打卡位置 */
    @Excel(name = "打卡位置")
    private String address;

    /** 状态 0 正常,1 迟到,2 早退 */
    @Excel(name = "状态 0 正常,1 迟到,2 早退")
    private String state;

    /** 超时时长 */
    @Excel(name = "超时时长")
    private Long exceed;

    /** 超时时长计算 */
    @Excel(name = "超时时长计算")
    private String exceedMsg;

    /** 外勤图片 */
    @Excel(name = "外勤图片")
    private String attendanceImg;

    /** 考勤说明 */
    @Excel(name = "考勤说明")
    private String content;

    /** 年月 */
    private String  yearMonth;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setDeptId(Long deptId)
    {
        this.deptId = deptId;
    }

    public Long getDeptId()
    {
        return deptId;
    }
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }
    public void setUserName(String userName)
    {
        this.userName = userName;
    }

    public String getUserName()
    {
        return userName;
    }
    public void setDate(Date date)
    {
        this.date = date;
    }

    public Date getDate()
    {
        return date;
    }
    public void setAttendanceType(String attendanceType)
    {
        this.attendanceType = attendanceType;
    }

    public String getAttendanceType()
    {
        return attendanceType;
    }
    public void setPeriod(String period)
    {
        this.period = period;
    }

    public String getPeriod()
    {
        return period;
    }
    public void setPthTime(Date pthTime)
    {
        this.pthTime = pthTime;
    }

    public Date getPthTime()
    {
        return pthTime;
    }
    public void setAddress(String address)
    {
        this.address = address;
    }

    public String getAddress()
    {
        return address;
    }
    public void setState(String state)
    {
        this.state = state;
    }

    public String getState()
    {
        return state;
    }
    public void setExceed(Long exceed)
    {
        this.exceed = exceed;
    }

    public Long getExceed()
    {
        return exceed;
    }
    public void setExceedMsg(String exceedMsg)
    {
        this.exceedMsg = exceedMsg;
    }

    public String getExceedMsg()
    {
        return exceedMsg;
    }
    public void setAttendanceImg(String attendanceImg)
    {
        this.attendanceImg = attendanceImg;
    }

    public String getAttendanceImg()
    {
        return attendanceImg;
    }
    public void setContent(String content)
    {
        this.content = content;
    }

    public String getContent()
    {
        return content;
    }

    public String getYearMonth() {
        return yearMonth;
    }

    public void setYearMonth(String yearMonth) {
        this.yearMonth = yearMonth;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("deptId", getDeptId())
                .append("userId", getUserId())
                .append("userName", getUserName())
                .append("date", getDate())
                .append("attendanceType", getAttendanceType())
                .append("period", getPeriod())
                .append("pthTime", getPthTime())
                .append("address", getAddress())
                .append("state", getState())
                .append("exceed", getExceed())
                .append("exceedMsg", getExceedMsg())
                .append("attendanceImg", getAttendanceImg())
                .append("content", getContent())
                .append("createTime", getCreateTime())
                .toString();
    }
}
